/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ProjetoEngenharia.Controller;

/**
 *
 * @author Felipe Freitas Gomes/ Aldeir Moreira
 */

import ProjetoEngenharia.Model.Cidade;
import java.util.ArrayList;

 public class ControllerCidade {
     private Cidade CidadeBuffer;
    
     
     public ControllerCidade(){
        this.CidadeBuffer = new Cidade();
    }
    
    
    public int Salvar (ArrayList<String>PLista){
        
              this.CidadeBuffer.setNome(PLista.get(1));
              this.CidadeBuffer.setCEP(PLista.get(2));
              this.CidadeBuffer.setEstado(PLista.get(3));
              this.CidadeBuffer.SetProximoCodigoInserido();
              this.CidadeBuffer.Salvar();
              return this.CidadeBuffer.getCodigo();
    }
       
    
    public void Atualizar (ArrayList<String> PLista){ 
               this.CidadeBuffer.setCodigo(Integer.parseInt(PLista.get(0)));
               this.CidadeBuffer.setNome(PLista.get(1));
             this.CidadeBuffer.setCEP(PLista.get(2));
             this.CidadeBuffer.setEstado(PLista.get(3));
             this.CidadeBuffer.Atualizar();
             
    }
    
    private ArrayList<String> ConverterObjParaArray(){
            ArrayList<String> VetCampos = new ArrayList<String>();
            VetCampos.add(String.valueOf(this.CidadeBuffer.getCodigo()));
            VetCampos.add(this.CidadeBuffer.getNome());
            VetCampos.add(this.CidadeBuffer.getCEP());
            VetCampos.add(this.CidadeBuffer.getEstado());
            return VetCampos;
    }
    
    
    public ArrayList<String>RecuperaObjetos(int iCodigo){
        this.CidadeBuffer.RecuperaObjeto(iCodigo);
        return ConverterObjParaArray(); 
    }
    
      public ArrayList<String> RecuperaNomes()
    {
        ArrayList<String> vetCidades = new ArrayList<String>();
           
        for(int i=0; i<Cidade.RecuperaObjetos().size(); i++)
        {
            vetCidades.add(Cidade.RecuperaObjetos().get(i).getNome());
        }
        return vetCidades;
    }
    
    
    
    public ArrayList<String>RecuperaObjetoPelaNavegacao(int iOpcao, int iCodigoAtual){
          CidadeBuffer = CidadeBuffer.RecuperaObjetoNavegacao(iOpcao, iCodigoAtual);
          return ConverterObjParaArray();
    }
    
    public void Excluir(int iCodigo){
        this.CidadeBuffer.setCodigo(iCodigo);
        this.CidadeBuffer.Excluir();
    }
    public static ArrayList<Cidade> RecuperaObjetos(){
    return Cidade.RecuperaObjetos();
    
    }
}

